package cn.ckx.coding;

import cn.ckx.coding.common.utils.redis.RedisKeys;
import cn.ckx.coding.common.utils.redis.SerialNumber;
import cn.ckx.coding.common.utils.redis.RedisUtil;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.core.StringRedisTemplate;

/**
 * @author kunxin.cai
 */
@EnableConfigurationProperties
@SpringBootApplication
public class CodingAppStart {

    public static void main(String[] args) {
        SpringApplication.run(CodingAppStart.class, args);
    }
    
    @Bean
    SerialNumber serialNumber(StringRedisTemplate stringRedisTemplate){
        return SerialNumber
                .builder()
                .setKey(RedisKeys.getCodingRedisKey("serialNumber","test","long"))
                .setRedisTemplate(stringRedisTemplate)
                .build();
    }
    
    @Bean
    RedisUtil redisUtil(StringRedisTemplate stringRedisTemplate){
        return new RedisUtil(stringRedisTemplate);
    }
    
}
